package com.fdb.efp.nls.service.dao;

import com.fdb.efp.nls.service.domain.BizParamCfg;
import com.fdb.efp.nls.service.vo.BizParamCfgVO;

import java.util.List;

/**
 * <p>DAO interface:业务参数配置表				<p>
 * @author fuzm
 * @date 2018-05-10
 */
public interface BizParamCfgDao {
	
	public int insertBizParamCfg(BizParamCfg bizParamCfg);
	
	public int deleteByPk(BizParamCfg bizParamCfg);
	
	public int updateByPk(BizParamCfg bizParamCfg);
	/**
	 * 查询全部信息
	 * @param bizParamCfg
	 * @return
	 */
	public List<BizParamCfg> queryAllBizParam(BizParamCfgVO bizParamCfgVo);
	
	/**
	 * 根据状态更新信息
	 * @param bizParamCfg
	 * @return
	 */
	public int updateByStatus(BizParamCfg bizParamCfg);
	
	public BizParamCfg queryByPk(BizParamCfg bizParamCfg);
	
	/**
	 * 根据省级标记查询
	 * @param bizParamCfg
	 * @return
	 */
	public BizParamCfg queryByRFlag(BizParamCfg bizParamCfg);
	/**
	 * 根据省级标志查询条数
	 * @param bizParamCfg
	 * @return
	 */
	public int queryByRpovinceFlag(BizParamCfg bizParamCfg);
	 
	/**
	 * 根据法人机构代码查询条数
	 * @param bizParamCfg
	 * @return
	 */
	public int queryByOrgCode(BizParamCfg bizParamCfg);
	/**
	 * 根据当前登录法人机构代码查询
	 * @param bizParamCfg
	 * @return
	 */
	public BizParamCfg queryByLoginLegalOrgCode(BizParamCfg bizParamCfg);
	/**
	 * 根据法人机构查询
	 * @param bizParamCfg
	 * @return
	 */
	public BizParamCfg queryByLegalOrgCode(BizParamCfg bizParamCfg);
	
	public List<BizParamCfg> queryAllOwnerByPage(BizParamCfgVO bizParamCfg);
	
	public List<BizParamCfg> queryAllCurrOrgByPage(BizParamCfgVO bizParamCfg);
	
	public List<BizParamCfg> queryAllCurrDownOrgByPage(BizParamCfgVO bizParamCfg);
	
	/**
	 * 省级提额系数修改时，根据法人机构查询系数大于省级配置的记录
	 * @param bizParamCfg
	 * @return
	 */
	public List<BizParamCfg> queryAllNotEqual(BizParamCfg bizParamCfg);
	
	/**
	 * 省级提额系数修改时,更新其他法人机构的提额系数
	 * @param bizParamCfg
	 * @return
	 */
	public int updateCoefAndAmtIntCountByLegalCode(BizParamCfg bizParamCfg);
	
	/**
	 * 省级提额额度最小值被修改时，更新其他机构的额度最小值为省级配置
	 * @param bizParamCfg
	 * @return
	 */
	public int updateOtherAll(BizParamCfg bizParamCfg);

}
